Batch Script হল একটি অত্যন্ত শক্তিশালী টুল যা Windows অপারেটিং সিস্টেমের বিভিন্ন কাজকে অটোমেট করার জন্য ব্যবহৃত হয়। ব্যাচ স্ক্রিপ্টের সাহায্যে আপনি বিভিন্ন ধরনের টাস্ক যেমন ফাইল এবং ডিরেক্টরি ম্যানেজমেন্ট, সিস্টেম কনফিগারেশন, সফটওয়্যার ইনস্টলেশন, ব্যাকআপ এবং ডেটা রিস্টোরেশন, এবং আরও অনেক কিছু করতে পারেন। বাস্তব জগতে, ব্যাচ স্ক্রিপ্ট বেশ কয়েকটি ক্ষেত্রে ব্যবহৃত হয়, যেমন সিস্টেম অ্যাডমিনিস্ট্রেশন, সফটওয়্যার ডেপ্লয়মেন্ট, রক্ষণাবেক্ষণ এবং অটোমেশন।
এই অধ্যায়ে আমরা কিছু বাস্তব জীবনের উদাহরণ এবং প্রকল্প দেখব, যা ব্যাচ স্ক্রিপ্ট ব্যবহার করে বাস্তবায়ন করা যেতে পারে।
1. Automated Backup System (স্বয়ংক্রিয় ব্যাকআপ সিস্টেম)
ব্যাচ স্ক্রিপ্ট দিয়ে সহজেই একটি স্বয়ংক্রিয় ব্যাকআপ সিস্টেম তৈরি করা সম্ভব। এটি আপনাকে নির্দিষ্ট সময় পর পর আপনার গুরুত্বপূর্ণ ফাইল বা ডেটার ব্যাকআপ তৈরি করতে সাহায্য করবে।
ব্যাচ স্ক্রিপ্ট উদাহরণ:
@echo off
rem ব্যাকআপ ফোল্ডার তৈরি
mkdir D:\Backups
rem ফাইল কপি করা
xcopy "C:\Users\MyUser\Documents" "D:\Backups\Documents" /E /H /Y
rem লগ ফাইল তৈরি
echo Backup completed on %date% at %time% >> D:\Backups\backup_log.txt
এখানে, xcopy কমান্ডের সাহায্যে Documents ফোল্ডারের সব ফাইল D ড্রাইভে ব্যাকআপ করা হচ্ছে। /E অপশন দিয়ে সাবডিরেক্টরি এবং ফাইলও কপি করা হবে, এবং /H অপশন দিয়ে সিস্টেম ফাইলও কপি করা হবে।
2. Software Deployment (সফটওয়্যার ডেপ্লয়মেন্ট)
ব্যাচ স্ক্রিপ্ট ব্যবহার করে আপনি নির্দিষ্ট সফটওয়্যার বা অ্যাপ্লিকেশন ডেপ্লয় করতে পারেন। এই স্ক্রিপ্ট স্বয়ংক্রিয়ভাবে সফটওয়্যার ইনস্টল করবে এবং কোনো ইউজার ইন্টারঅ্যাকশন ছাড়াই সম্পন্ন হবে।
ব্যাচ স্ক্রিপ্ট উদাহরণ:
@echo off
rem সফটওয়্যার ইনস্টল করা
echo Installing Software...
start /wait "C:\Setup\software_installer.exe" /silent
rem ইনস্টলেশনের পর কনফিগারেশন
echo Configuring software...
copy "C:\Setup\ConfigFile.cfg" "C:\ProgramFiles\Software\Config\"
rem সার্ভিস শুরু করা
sc start "SoftwareService"
এখানে start /wait কমান্ড দিয়ে ইনস্টলেশন প্রক্রিয়া শুরু হচ্ছে এবং সফটওয়্যার কনফিগারেশন এবং সার্ভিস স্টার্ট করার কাজও করা হচ্ছে।
3. File Monitoring and Auto-Sync (ফাইল মনিটরিং এবং অটো-সিঙ্ক)
ফাইল মনিটরিং এবং অটো-সিঙ্ক সিস্টেমে ব্যাচ স্ক্রিপ্ট ব্যবহার করা যেতে পারে যাতে কোনো ফোল্ডারে ফাইলের পরিবর্তন হলে তা অন্য ফোল্ডারে স্বয়ংক্রিয়ভাবে কপি বা সিঙ্ক করা যায়।
ব্যাচ স্ক্রিপ্ট উদাহরণ:
@echo off
rem মনিটরিং শুরু করা
echo Monitoring folder for changes...
:LOOP
rem ফোল্ডারের মধ্যে ফাইল পরিবর্তন চেক করা
xcopy "C:\Source\*" "D:\Backup" /D /E /Y
timeout /t 10
goto LOOP
এই স্ক্রিপ্টটি প্রতি 10 সেকেন্ড পর পর সোর্স ফোল্ডারের মধ্যে নতুন বা পরিবর্তিত ফাইলগুলো ব্যাকআপ ফোল্ডারে কপি করবে। /D অপশনটি কেবলমাত্র নতুন বা পরিবর্তিত ফাইল কপি করবে।
4. System Health Checkup and Reporting (সিস্টেম হেলথ চেকআপ এবং রিপোর্টিং)
ব্যাচ স্ক্রিপ্ট ব্যবহার করে আপনি সিস্টেমের বিভিন্ন স্বাস্থ্যগত অবস্থা যেমন ডিস্ক স্পেস, প্রসেস চালানো, RAM ব্যবহারের তথ্য ইত্যাদি চেক করতে পারেন এবং একটি রিপোর্ট তৈরি করতে পারেন।
ব্যাচ স্ক্রিপ্ট উদাহরণ:
@echo off
rem সিস্টেম ইনফরমেশন সংগ্রহ করা
systeminfo > C:\SystemReports\HealthCheck.txt
echo Disk Space Information >> C:\SystemReports\HealthCheck.txt
wmic logicaldisk get size,freespace,caption >> C:\SystemReports\HealthCheck.txt
echo CPU Usage >> C:\SystemReports\HealthCheck.txt
wmic cpu get loadpercentage >> C:\SystemReports\HealthCheck.txt
rem রিপোর্ট দেখানো
notepad C:\SystemReports\HealthCheck.txt
এখানে, systeminfo কমান্ড ব্যবহার করে সিস্টেমের বিস্তারিত তথ্য সংগ্রহ করা হচ্ছে, এবং wmic কমান্ড দিয়ে ডিস্ক স্পেস ও CPU ব্যবহার সম্পর্কিত তথ্য সংগ্রহ করা হচ্ছে।
5. Custom Tools and Utilities Creation (কাস্টম টুলস এবং ইউটিলিটি তৈরি করা)
ব্যাচ স্ক্রিপ্টের সাহায্যে আপনি নিজের কাস্টম টুলস এবং ইউটিলিটি তৈরি করতে পারেন, যা নির্দিষ্ট কাজ স্বয়ংক্রিয়ভাবে পরিচালনা করতে সাহায্য করবে। উদাহরণস্বরূপ, একটি সিস্টেম ক্লিনিং টুল তৈরি করা যা অপ্রয়োজনীয় ফাইল এবং ক্যাশ পরিষ্কার করবে।
ব্যাচ স্ক্রিপ্ট উদাহরণ:
@echo off
rem অস্থায়ী ফাইল মুছে ফেলা
echo Deleting temporary files...
del /f /q %temp%\*
rem উইন্ডোজ ক্যাশ পরিষ্কার করা
echo Cleaning Windows Cache...
del /f /q C:\Windows\Temp\*
rem ব্রাউজারের ক্যাশ পরিষ্কার করা
echo Clearing Browser Cache...
del /f /q "C:\Users\%username%\AppData\Local\Google\Chrome\User Data\Default\Cache\*"
rem ক্লিনিং সম্পন্ন
echo Cleaning completed!
pause
এখানে, বিভিন্ন ক্যাশ এবং অস্থায়ী ফাইলগুলো মুছে ফেলা হচ্ছে। এটি একটি সাধারণ সিস্টেম ক্লিনিং টুল হিসেবে ব্যবহৃত হতে পারে।
সারাংশ
Batch Script প্রকল্পগুলি বাস্তব জীবনে বিভিন্ন কাজে ব্যবহৃত হতে পারে। কিছু সাধারণ এবং কার্যকরী প্রকল্পের মধ্যে রয়েছে:
- Automated Backup System: নির্দিষ্ট সময় পর পর ডেটার ব্যাকআপ তৈরি করা।
- Software Deployment: সফটওয়্যার ইনস্টলেশন এবং কনফিগারেশন প্রক্রিয়া অটোমেট করা।
- File Monitoring and Auto-Sync: ফোল্ডার মনিটরিং এবং স্বয়ংক্রিয় সিঙ্ক প্রক্রিয়া।
- System Health Checkup and Reporting: সিস্টেমের স্বাস্থ্যের তথ্য সংগ্রহ করা এবং রিপোর্ট তৈরি করা।
- Custom Tools and Utilities: কাস্টম ইউটিলিটি তৈরি করা যেমন সিস্টেম ক্লিনার।
ব্যাচ স্ক্রিপ্টের সাহায্যে এই সকল কাজ স্বয়ংক্রিয়ভাবে পরিচালনা করা সম্ভব, যা সময় বাঁচাতে এবং প্রক্রিয়াগুলিকে আরও কার্যকরী করতে সহায়তা করে।
একটি Automated Backup System হল একটি স্বয়ংক্রিয় প্রক্রিয়া যা গুরুত্বপূর্ণ ডেটা বা ফাইলের নিয়মিত ব্যাকআপ তৈরি করে এবং সংরক্ষণ করে। ব্যাচ স্ক্রিপ্ট ব্যবহার করে একটি শক্তিশালী এবং সাশ্রয়ী ব্যাকআপ সিস্টেম তৈরি করা সম্ভব, যা নির্দিষ্ট সময় পর পর ব্যাকআপ নেয় এবং সংরক্ষণ করে, যাতে ডেটা হারানো থেকে সুরক্ষা পাওয়া যায়।
এটি বিশেষভাবে ব্যবহারিক, কারণ অনেক সময় ব্যাকআপ প্রক্রিয়া ম্যানুয়ালি চালানো ঝামেলার হতে পারে এবং ভুল হওয়ার সম্ভাবনা থাকে। ব্যাচ স্ক্রিপ্ট ব্যবহার করে এটি সম্পূর্ণ অটোমেটেড করা যেতে পারে।
Automated Backup System এর উপকারিতা
- ডেটা সুরক্ষা: ব্যাকআপের মাধ্যমে ডেটা হারানোর ঝুঁকি কমে যায়।
- সময় বাঁচানো: একবার স্ক্রিপ্ট তৈরি হয়ে গেলে, এটি নিয়মিতভাবে ব্যাকআপ নেয়, ফলে ম্যানুয়াল কাজের প্রয়োজন পড়ে না।
- স্বয়ংক্রিয়তা: নির্দিষ্ট সময় পর পর ব্যাকআপ নেওয়ার জন্য অটোমেটেড স্ক্রিপ্ট ব্যবহার করা হয়।
- দ্রুত পুনরুদ্ধার: ব্যাকআপ কপি থাকলে, যেকোনো সমস্যা হলে দ্রুত ডেটা পুনরুদ্ধার করা যায়।
Batch Script দিয়ে Automated Backup System তৈরি
একটি ব্যাচ স্ক্রিপ্ট ব্যবহার করে ফাইল বা ডিরেক্টরির ব্যাকআপ নেওয়া সম্ভব। সাধারণত, ব্যাচ স্ক্রিপ্টে xcopy, robocopy, অথবা copy কমান্ড ব্যবহার করা হয়, যা ফাইলগুলো নির্দিষ্ট গন্তব্যে কপি করে। এছাড়াও, ব্যাকআপ প্রক্রিয়াটি নির্দিষ্ট সময় পর পর চালানোর জন্য Windows Task Scheduler ব্যবহার করা যেতে পারে।
এখানে একটি সাধারণ ব্যাচ স্ক্রিপ্ট দেওয়া হলো যা নির্দিষ্ট ফোল্ডার থেকে ব্যাকআপ তৈরি করবে এবং সেটি একটি ব্যাকআপ ফোল্ডারে কপি করবে।
ব্যাচ স্ক্রিপ্ট উদাহরণ:
@echo off
rem ব্যাকআপ প্রক্রিয়া শুরু
echo Starting Backup...
rem বর্তমান তারিখের সাথে ফোল্ডার নাম তৈরি করা
set datetime=%DATE:/=-%-%TIME::=-%
set backup_folder="C:\Backups\Backup_%datetime%"
rem নতুন ব্যাকআপ ফোল্ডার তৈরি করা
mkdir %backup_folder%
rem নির্দিষ্ট সোর্স ফোল্ডার থেকে ব্যাকআপ তৈরি করা
xcopy "C:\Data\ImportantFiles" %backup_folder% /E /H /C /I
rem ব্যাকআপ প্রক্রিয়া সফল হলে বার্তা প্রদর্শন
if %errorlevel% equ 0 (
echo Backup completed successfully!
) else (
echo Backup failed. Please check the log.
)
rem স্ক্রিপ্ট শেষ
pause
ব্যাচ স্ক্রিপ্টের বর্ণনা:
set datetime=%DATE:/=-%-%TIME::=-%: এখানে, আমরা বর্তমান তারিখ এবং সময় ব্যবহার করছি ব্যাকআপ ফোল্ডারের নাম তৈরির জন্য, যাতে প্রতিটি ব্যাকআপ একটি আলাদা ফোল্ডারে সেভ হয়।mkdir %backup_folder%: নতুন ব্যাকআপ ফোল্ডার তৈরি করছে, যার নাম বর্তমান তারিখ এবং সময় অনুসারে হবে।xcopyকমান্ড: এটি সোর্স ফোল্ডার থেকে (যেমনC:\Data\ImportantFiles) ব্যাকআপ তৈরি করে, এবং ডেস্টিনেশন ফোল্ডারে (যেমনC:\Backups\Backup_%datetime%) কপি করে। এখানে/Eঅপশনটি সাবফোল্ডারসহ সব ফাইল কপি করার জন্য,/Hহিডেন ফাইলও কপি করার জন্য,/Cত্রুটি হলে চালিয়ে যাওয়ার জন্য, এবং/Iফোল্ডার গন্তব্যকে কপি ফোল্ডার হিসেবে শনাক্ত করতে ব্যবহার করা হয়।- Error checking: ব্যাকআপ সফল হলে
echo Backup completed successfully!বার্তা দেখাবে এবং ব্যর্থ হলে ত্রুটির বার্তা দেখাবে।
Automated Backup System চালানো
যেহেতু এটি একটি ব্যাচ স্ক্রিপ্ট, তাই এটি নির্দিষ্ট সময় পর পর চালানোর জন্য Task Scheduler ব্যবহার করা যেতে পারে। Task Scheduler দিয়ে আপনি এই ব্যাচ স্ক্রিপ্টটি সিডিউল করতে পারেন যাতে এটি স্বয়ংক্রিয়ভাবে নির্দিষ্ট সময় পর পর ব্যাকআপ নেয়।
Task Scheduler এ ব্যাচ স্ক্রিপ্ট সেটআপ করার জন্য পদক্ষেপগুলো:
- Task Scheduler খুলুন:
Startমেনুতে গিয়ে "Task Scheduler" লিখে অ্যাপটি খুলুন। - New Task তৈরি করুন: "Create Basic Task" নির্বাচন করুন।
- টাস্কের নাম এবং বর্ণনা দিন: টাস্কের নাম দিন, যেমন "Automated Backup".
- টাস্কের ট্রিগার সেট করুন: ট্রিগার হিসেবে নির্দিষ্ট সময় বা নির্দিষ্ট দিন নির্বাচন করুন।
- Action নির্বাচন করুন: "Start a program" নির্বাচন করুন এবং ব্যাচ স্ক্রিপ্টের পাথ দিন।
- Finish করুন: টাস্কটি সেভ করুন।
এখন, নির্ধারিত সময় পর পর এটি স্বয়ংক্রিয়ভাবে ব্যাকআপ নেবে।
সারাংশ
- Automated Backup System তৈরি করা ব্যাচ স্ক্রিপ্টের মাধ্যমে সহজ এবং কার্যকরী একটি উপায়।
- ব্যাচ স্ক্রিপ্ট ব্যবহার করে ফাইল কপি, ডিরেক্টরি তৈরি, এবং ব্যাকআপ ফোল্ডার তৈরি করা যায়।
- Task Scheduler ব্যবহার করে ব্যাচ স্ক্রিপ্টটি নির্দিষ্ট সময় পর পর চালানো যেতে পারে।
- ব্যাচ স্ক্রিপ্টের মাধ্যমে ডেটা সুরক্ষা নিশ্চিত করা এবং ডেটা হারানো থেকে রক্ষা পাওয়া সম্ভব।
- এটি সিস্টেম অ্যাডমিনিস্ট্রেটরদের জন্য বিশেষভাবে উপকারী, যারা নিয়মিতভাবে ডেটা ব্যাকআপ নেন।
Batch Script ব্যবহার করে ফাইল মনিটরিং এবং অটোমেটিক সিঙ্ক্রোনাইজেশন করা সম্ভব। এটি বিশেষভাবে প্রয়োজনীয় হতে পারে যখন আপনাকে নির্দিষ্ট ফোল্ডার বা ডিরেক্টরির মধ্যে পরিবর্তন নজরদারি করতে হয় বা ফাইলগুলোর আপডেট প্রক্রিয়া অটোমেট করতে হয়। এই টিউটোরিয়ালে, Batch Script ব্যবহার করে ফাইল মনিটরিং এবং অটোমেটিক সিঙ্ক্রোনাইজেশন সম্পর্কিত কয়েকটি পদ্ধতি আলোচনা করা হবে।
1. ফাইল মনিটরিং (File Monitoring)
ফাইল মনিটরিংয়ের মাধ্যমে নির্দিষ্ট ফোল্ডারের মধ্যে ফাইলের পরিবর্তন, নতুন ফাইল যোগ, মুছে ফেলা বা রename হওয়া নিরীক্ষণ করা যায়। Batch Script এর মাধ্যমে ফোল্ডারে পরিবর্তন মনিটর করা একটু সীমাবদ্ধ, তবে কিছু কমান্ড ব্যবহার করে আপনি এটি বাস্তবায়ন করতে পারেন।
ফোল্ডার চেক করা প্রতি নির্দিষ্ট সময় অন্তর:
আপনি
dirকমান্ড ব্যবহার করে একটি ফোল্ডারের মধ্যে ফাইলগুলোর তালিকা দেখতে পারেন এবং ফোল্ডারে কোনো নতুন পরিবর্তন সনাক্ত করতে পারেন। সুতরাং, একটি নির্দিষ্ট সময় অন্তর ফোল্ডারটির অবস্থার পরিবর্তন পরীক্ষা করতে, একটি লুপ ব্যবহার করা যেতে পারে।উদাহরণস্বরূপ, একটি স্ক্রিপ্ট যা প্রতি ৫ সেকেন্ডে একটি ফোল্ডার চেক করে এবং ফোল্ডারের তালিকা
file_list.txtফাইলে সংরক্ষণ করে::loop dir C:\MyFolder > file_list.txt timeout /t 5 goto loopএখানে:
dir C:\MyFolderকমান্ডটিC:\MyFolderফোল্ডারের বর্তমান ফাইল এবং ডিরেক্টরির তালিকা দেখাবে।timeout /t 5কমান্ডটি প্রতি ৫ সেকেন্ডে ফোল্ডারটি চেক করবে।goto loopলুপটিকে পুনরায় চালু করবে।
এই স্ক্রিপ্টে আপনি
file_list.txtফাইলের পরিবর্তন মনিটর করতে পারেন, এবং যদি কোনো পরিবর্তন ঘটে, আপনি তা স্ক্রিপ্টের মাধ্যমে আলাদাভাবে ট্র্যাক করতে পারেন।
2. Auto-Sync ফাইল (Automatic File Synchronization)
অটোমেটিক ফাইল সিঙ্ক্রোনাইজেশন ব্যবহৃত হয় একটি ফোল্ডারের ফাইল অন্য একটি ফোল্ডারে অটোমেটিকালি কপি বা সিঙ্ক্রোনাইজ করতে। Batch Script ব্যবহার করে ফাইল সিঙ্ক্রোনাইজেশন করার সবচেয়ে জনপ্রিয় পদ্ধতি হলো robocopy বা xcopy কমান্ড ব্যবহার করা।
robocopyব্যবহার করে ফাইল সিঙ্ক্রোনাইজেশন:robocopy(Robust File Copy) হল একটি শক্তিশালী ফাইল কপি টুল যা শুধুমাত্র ফাইল কপি নয়, বরং ডিরেক্টরি স্ট্রাকচার, ফোল্ডার ও ফাইলের সিঙ্ক্রোনাইজেশনও করতে সাহায্য করে। এটি ফোল্ডারের মধ্যে নতুন বা পরিবর্তিত ফাইল কপি করতে ব্যবহৃত হয়।উদাহরণস্বরূপ, যদি আপনি
C:\SourceFolderথেকেD:\DestinationFolder-এ ফাইলগুলো সিঙ্ক্রোনাইজ করতে চান, তাহলে নিচের স্ক্রিপ্টটি ব্যবহার করতে পারেন:robocopy C:\SourceFolder D:\DestinationFolder /MIR /Eএখানে:
/MIRসুইচটি সোর্স ফোল্ডারের সাথে ডেস্টিনেশন ফোল্ডারকে মিরর করে, অর্থাৎ সোর্স ফোল্ডারে কোনো ফাইল মুছে গেলে, ডেস্টিনেশন ফোল্ডার থেকেও তা মুছে যাবে।/Eসুইচটি শূন্য ফোল্ডার সহ সব ফোল্ডার সিঙ্ক্রোনাইজ করে।
এটি ফোল্ডার সিঙ্ক্রোনাইজেশন খুবই সহজভাবে করবে, এবং যদি ফোল্ডারে কোনো নতুন ফাইল যুক্ত হয়, তা অটোমেটিকালি ডেস্টিনেশন ফোল্ডারে কপি হয়ে যাবে।
xcopyব্যবহার করে ফাইল সিঙ্ক্রোনাইজেশন:xcopyকমান্ডটি একটি পুরনো কিন্তু কার্যকরী টুল যা ফাইল এবং ডিরেক্টরি কপি করতে ব্যবহৃত হয়। এটিrobocopy-এর তুলনায় কিছুটা সীমাবদ্ধ, তবে কিছু বিশেষ ক্ষেত্রে কার্যকরী হতে পারে।উদাহরণস্বরূপ,
C:\SourceFolderথেকেD:\DestinationFolder-এ ফাইল সিঙ্ক্রোনাইজ করতে:xcopy C:\SourceFolder D:\DestinationFolder /s /e /dএখানে:
/sসুইচটি শুধুমাত্র ফাইল কপি করবে এবং সাবডিরেক্টরির ফাইলও কপি করবে।/eসুইচটি শূন্য ফোল্ডারও কপি করবে।/dসুইচটি কেবলমাত্র নতুন বা পরিবর্তিত ফাইল কপি করবে।
3. এটি কিভাবে ব্যবহার করবেন (How to Use This in Real Scenarios)
Batch Script দিয়ে ফাইল মনিটরিং এবং সিঙ্ক্রোনাইজেশন আপনাকে স্বয়ংক্রিয়ভাবে ফাইল ব্যাকআপ, ডেটা সিঙ্ক্রোনাইজেশন, বা ফোল্ডার পর্যবেক্ষণ করার সুবিধা দেয়। এটি বিশেষত এমন পরিস্থিতিতে উপকারী যখন আপনার প্রয়োজনীয় ডেটা একাধিক সিস্টেম বা লোকেশনে সিঙ্ক্রোনাইজ করা এবং ফাইলগুলোর কোন পরিবর্তন বা আপডেট নজরদারি করা।
উদাহরণস্বরূপ:
- ব্যাকআপ স্ক্রিপ্ট: একটি নির্দিষ্ট ফোল্ডারের ফাইলগুলো অন্য কোনো ড্রাইভে প্রতি ঘণ্টায় বা নির্দিষ্ট সময় অন্তর ব্যাকআপ করতে
robocopyস্ক্রিপ্ট ব্যবহার করা যেতে পারে। - ফাইল সিঙ্ক্রোনাইজেশন: একাধিক কম্পিউটারের মধ্যে ফাইল সিঙ্ক্রোনাইজেশন করতে
robocopyবাxcopyব্যবহার করা যেতে পারে, যেমন অফিস ফোল্ডার সিঙ্ক্রোনাইজ করা বা ডেটা শেয়ার করা।
সারাংশ
ফাইল মনিটরিং এবং অটোমেটিক সিঙ্ক্রোনাইজেশন Batch Script ব্যবহার করে সহজেই করা যায়। dir, robocopy, এবং xcopy কমান্ডগুলো ব্যবহার করে আপনি ফোল্ডার চেকিং, ফাইল কপি বা সিঙ্ক্রোনাইজেশন এবং ব্যাকআপ তৈরি করতে পারেন। Batch Script এর মাধ্যমে ফাইল সিঙ্ক্রোনাইজেশন স্বয়ংক্রিয় করে এবং নির্দিষ্ট সময় অন্তর ফোল্ডারের অবস্থা ট্র্যাক করে কার্যকরীভাবে কাজ করতে পারবেন।
Batch Script ব্যবহার করে Automated Software Installation এবং Software Update প্রক্রিয়া স্বয়ংক্রিয় করা যায়। এটি বিশেষভাবে উপকারী যখন একাধিক সিস্টেমে একই সফটওয়্যার ইনস্টল বা আপডেট করতে হয়, অথবা যখন নিয়মিত সফটওয়্যার আপডেটের কাজ করতে হয়।
Automated Software Installer
স্বয়ংক্রিয়ভাবে সফটওয়্যার ইনস্টল করতে Batch Script ব্যবহার করা যায়। এই প্রক্রিয়ায়, সফটওয়্যার ইনস্টলেশনের জন্য প্রয়োজনীয় কমান্ডগুলো একটি স্ক্রিপ্টে লিখে রাখা হয়, যা এক ক্লিকেই সফটওয়্যার ইনস্টল করে দেয়।
Software Installer Command
সাধারণত, সফটওয়্যার ইনস্টল করার জন্য .exe বা .msi ফাইলের মাধ্যমে ইনস্টলেশন প্রক্রিয়া চালানো হয়। Batch Script এ এই ধরনের ইনস্টলেশন করার জন্য, start বা msiexec কমান্ড ব্যবহার করা যেতে পারে। উদাহরণস্বরূপ:
.exe ফাইল দিয়ে ইনস্টলেশন:
start /wait software_installer.exe /silent /installএখানে,
/waitকমান্ডটি স্ক্রিপ্টটিকে ইনস্টলেশন প্রক্রিয়া শেষ না হওয়া পর্যন্ত অপেক্ষা করতে নির্দেশ দেয়।/silentবা/quietফ্ল্যাগ সাধারণত ইনস্টলেশন প্রক্রিয়াটিকে GUI ছাড়াই চালু করে, অর্থাৎ ইনস্টলেশন চলাকালীন ব্যবহারকারীকে কোনো পপ-আপ বা ডায়লগ দেখানো হয় না।.msi ফাইল দিয়ে ইনস্টলেশন:
msiexec /i "software_installer.msi" /quiet /norestartএখানে, msiexec কমান্ডটি Windows Installer (.msi ফাইল) চালাতে ব্যবহৃত হয়।
/iফ্ল্যাগ ইনস্টলেশন নির্দেশ করে এবং/quietফ্ল্যাগটি ইনস্টলেশনটি চুপচাপ (silent) চালু করে।
Software Update Automation
Batch Script এর মাধ্যমে সফটওয়্যার আপডেটিং প্রক্রিয়াও স্বয়ংক্রিয় করা যায়। অধিকাংশ সফটওয়্যারের জন্য আপডেট ফাইল নির্দিষ্ট জায়গায় (যেমন ওয়েবসাইট বা সার্ভার) পাওয়া যায়। এই আপডেট ফাইলটি ডাউনলোড করে ইনস্টলেশন প্রক্রিয়া সম্পন্ন করা যায়।
Update Check এবং Download
সফটওয়্যার আপডেটের জন্য প্রথমে আপনাকে চেক করতে হবে যে আপডেট ফাইলটি নতুন এবং ডাউনলোড করা প্রয়োজন কিনা। এরপর, আপডেট ফাইলটি ডাউনলোড এবং ইনস্টল করতে হবে।
উদাহরণস্বরূপ, একটি আপডেট ফাইল ডাউনলোড করতে
curlবাbitsadminব্যবহার করা যেতে পারে:curl ব্যবহার করে আপডেট ডাউনলোড:
curl -O https://example.com/software_update.exebitsadmin ব্যবহার করে আপডেট ডাউনলোড:
bitsadmin /transfer mydownloadjob /download /priority high https://example.com/software_update.exe C:\path\to\save\software_update.exe
Download এর পর ইনস্টলেশন
একবার আপডেট ফাইল ডাউনলোড হলে, সেটি ইনস্টল করা যাবে:
start /wait software_update.exe /silent
Scheduling Updates
স্বয়ংক্রিয়ভাবে সফটওয়্যার আপডেটের কাজ নির্দিষ্ট সময়ে করতে Task Scheduler ব্যবহার করা যেতে পারে। Windows Task Scheduler এর মাধ্যমে নির্দিষ্ট সময়ে স্ক্রিপ্টটি চালানো সম্ভব। Batch Script এর মধ্যে এই কমান্ডটি ব্যবহার করে Task Scheduler তৈরি করা যেতে পারে:
schtasks /create /tn "Software Update Task" /tr "C:\path\to\script.bat" /sc daily /st 02:00
এটি প্রতি দিন রাত ২টায় script.bat ফাইলটি রান করবে, যেখানে সফটওয়্যার আপডেট প্রক্রিয়া থাকবে।
Error Handling এবং Log Files
সফটওয়্যার ইনস্টলেশন এবং আপডেটের প্রক্রিয়ায় ভুল হলে, তা ট্র্যাক করতে লগ ফাইল ব্যবহার করা প্রয়োজন। Batch Script এ, echo কমান্ড ব্যবহার করে লগ ফাইল তৈরি করা সম্ভব:
echo "Software update started at %date% %time%" >> update_log.txt
start /wait software_update.exe /silent >> update_log.txt 2>&1
echo "Software update completed at %date% %time%" >> update_log.txt
এখানে, 2>&1 কমান্ডটি স্ট্যান্ডার্ড এরর (stderr) এবং আউটপুট (stdout) উভয়ই লগ ফাইলে লিখে রাখে।
সারাংশ
Batch Script ব্যবহার করে Automated Software Installation এবং Updater তৈরি করা সহজ এবং সময়সাশ্রয়ী। ইনস্টলেশন এবং আপডেট প্রক্রিয়া স্বয়ংক্রিয়ভাবে চালানোর জন্য start, msiexec, curl, bitsadmin, এবং schtasks এর মতো কমান্ড ব্যবহার করা হয়। এই প্রক্রিয়া গুলির মধ্যে সফটওয়্যার ডাউনলোড, ইনস্টলেশন, আপডেট এবং লগিং অন্তর্ভুক্ত থাকে। Task Scheduler ব্যবহার করে নির্দিষ্ট সময়ে সফটওয়্যার আপডেটও স্বয়ংক্রিয়ভাবে করা সম্ভব।
Batch স্ক্রিপ্ট ব্যবহার করে আপনি নিজস্ব Custom Tools এবং Utility Programs তৈরি করতে পারেন যা বিভিন্ন কাজের জন্য স্বয়ংক্রিয় সমাধান প্রদান করে। এই স্ক্রিপ্টগুলো সাধারণত সিস্টেম অ্যাডমিনিস্ট্রেশন, ডেটা ব্যাকআপ, লোগ ফাইল ম্যানেজমেন্ট, নেটওয়ার্ক ডায়াগনস্টিক, এবং অন্যান্য সাধারণ প্রশাসনিক কাজের জন্য তৈরি করা হয়। Batch স্ক্রিপ্টে Custom Tools এবং Utility তৈরি করার মাধ্যমে আপনি পুনরাবৃত্তিমূলক কাজগুলিকে স্বয়ংক্রিয় করতে পারেন, যা সময় বাঁচানোর পাশাপাশি কার্যকারিতা বৃদ্ধি করে।
1. Custom Tool তৈরি করার প্রাথমিক পদক্ষেপ
প্রথমে, আপনাকে সিস্টেমের কোনো নির্দিষ্ট কাজ বা প্রক্রিয়া চিনহিত করতে হবে, যেটি আপনি অটোমেট করতে চান। এরপর সেই কাজের জন্য প্রয়োজনীয় Batch স্ক্রিপ্ট লেখার মাধ্যমে একটি Custom Utility তৈরি করা হয়।
উদাহরণ: ফোল্ডার ব্যাকআপ টুল তৈরি করা
এটি একটি সাধারণ ব্যাকআপ স্ক্রিপ্ট যা ব্যবহারকারীকে একটি সোর্স ফোল্ডার থেকে ডেস্টিনেশন ফোল্ডারে ফাইল কপি করতে সাহায্য করবে।
@echo off
setlocal
:: সোর্স এবং ডেস্টিনেশন ফোল্ডার সেট করা
set source=C:\Users\Public\Documents
set destination=D:\Backup\Documents
:: ব্যাকআপ কপি করা
echo Starting backup...
xcopy "%source%" "%destination%" /s /e /y
echo Backup completed successfully!
pause
এই স্ক্রিপ্টটি xcopy কমান্ড ব্যবহার করে সোর্স ফোল্ডারের সব ফাইল এবং সাবফোল্ডারকে ডেস্টিনেশন ফোল্ডারে কপি করবে।
2. ফাইল ম্যানেজমেন্ট টুল তৈরি
আপনি যদি বিভিন্ন ফাইল ম্যানেজমেন্ট কাজগুলো অটোমেট করতে চান, তবে Batch স্ক্রিপ্টের মাধ্যমে আপনার প্রয়োজনীয় কমান্ডগুলো একত্রিত করে একটি Utility তৈরি করতে পারেন।
উদাহরণ: ফাইল খুঁজে বের করার টুল
এটি একটি স্ক্রিপ্ট যা নির্দিষ্ট ফোল্ডারে কোন ফাইলের উপস্থিতি চেক করবে এবং যদি ফাইলটি পাওয়া যায়, তাহলে একটি লোগ ফাইল তৈরি করবে।
@echo off
setlocal
:: ফোল্ডার এবং ফাইল নাম সেট করা
set folder=C:\Users\Public\Documents
set filename=example.txt
set logfile=C:\backup\log.txt
:: ফাইল চেক করা
echo Searching for %filename% in %folder%...
if exist "%folder%\%filename%" (
echo %filename% found! >> %logfile%
echo File found and log updated.
) else (
echo %filename% not found. >> %logfile%
echo File not found and log updated.
)
pause
এই স্ক্রিপ্টটি নির্দিষ্ট ফোল্ডারে example.txt নামক ফাইলটি খুঁজে বের করবে এবং যদি ফাইলটি পাওয়া যায়, তবে একটি লোগ ফাইলের মাধ্যমে রিপোর্ট করবে।
3. নেটওয়ার্ক ডায়াগনস্টিক টুল
Batch স্ক্রিপ্টে নেটওয়ার্ক ডায়াগনস্টিকের জন্য বিভিন্ন কমান্ডও অন্তর্ভুক্ত করা যেতে পারে। যেমন ping, tracert, netstat এবং ipconfig। এই কমান্ডগুলো ব্যবহারের মাধ্যমে আপনি নেটওয়ার্ক সংক্রান্ত সমস্যা চিহ্নিত করতে পারেন।
উদাহরণ: নেটওয়ার্ক টেস্টিং টুল
@echo off
setlocal
:: পিং টেস্ট
set target=google.com
echo Testing connection to %target%...
ping %target% -n 5
:: IP কনফিগারেশন চেক করা
echo Displaying IP configuration...
ipconfig
:: ট্রেস রুট
echo Tracing route to %target%...
tracert %target%
pause
এটি একটি নেটওয়ার্ক ডায়াগনস্টিক স্ক্রিপ্ট যা প্রথমে ping কমান্ড দিয়ে একটি রিমোট সার্ভারে কানেক্টিভিটি পরীক্ষা করবে, এরপর ipconfig দিয়ে বর্তমান নেটওয়ার্ক কনফিগারেশন দেখাবে এবং শেষে tracert দিয়ে পিং করা গন্তব্যের ট্রেস রুট দেখাবে।
4. সিস্টেম ইনফরমেশন টুল
আপনি সিস্টেম সম্পর্কিত তথ্য যেমন CPU ব্যবহার, মেমরি স্ট্যাটাস, ডিস্ক স্পেস, অপারেটিং সিস্টেম ভের্সন ইত্যাদি সংগ্রহ করার জন্য একটি কাস্টম টুল তৈরি করতে পারেন।
উদাহরণ: সিস্টেম ইনফরমেশন টুল
@echo off
setlocal
:: সিস্টেম ইনফরমেশন সংগ্রহ
echo System Information:
systeminfo
:: ডিস্ক স্পেস চেক
echo Checking disk space...
wmic logicaldisk get size,freespace,caption
:: CPU স্ট্যাটাস
echo Checking CPU usage...
wmic cpu get loadpercentage
pause
এই স্ক্রিপ্টটি systeminfo কমান্ড ব্যবহার করে সিস্টেমের বিস্তারিত ইনফরমেশন দেখাবে, wmic logicaldisk কমান্ড দিয়ে ডিস্ক স্পেস চেক করবে, এবং wmic cpu দিয়ে CPU লোড শতাংশ দেখাবে।
5. সুরক্ষা টুল তৈরি
আপনি Windows Firewall অথবা Windows Defender এর স্ট্যাটাস চেক করার জন্য সিকিউরিটি টুলও তৈরি করতে পারেন। এমন একটি টুল আপনি Batch স্ক্রিপ্টে তৈরি করতে পারেন যা সিস্টেমের সুরক্ষা সেটিংস চেক করবে এবং প্রয়োজন হলে সেগুলি কনফিগার করবে।
উদাহরণ: Windows Defender চেকিং টুল
@echo off
setlocal
:: Windows Defender এর স্ট্যাটাস চেক
echo Checking Windows Defender status...
MpCmdRun.exe -Status
pause
এই স্ক্রিপ্টটি Windows Defender এর স্ট্যাটাস চেক করবে এবং যদি Defender নিষ্ক্রিয় থাকে তবে সেটি সক্রিয় করার নির্দেশনা দিতে পারে।
6. Custom Utility তৈরি করার বেস্ট প্র্যাকটিস
- Modularity: আপনার স্ক্রিপ্টকে ছোট ছোট অংশে ভাগ করুন এবং প্রয়োজন অনুযায়ী ব্যবহার করুন। একটি বড় স্ক্রিপ্টের পরিবর্তে ছোট ছোট টুলের সমষ্টি তৈরি করুন।
- Error Handling: স্ক্রিপ্টে এরর চেকিং যুক্ত করুন, যাতে যদি কোনো ভুল হয়, স্ক্রিপ্টটি সেটি রিপোর্ট করতে পারে।
- User Input: স্ক্রিপ্টে ব্যবহারকারী থেকে ইনপুট নিতে পারেন, যাতে স্ক্রিপ্টটি আরো ডায়নামিক হয়।
- Logging: সব কাজের শেষে লোগ ফাইল তৈরি করুন, যাতে স্ক্রিপ্টের কার্যক্রম ট্র্যাক করা যায়।
সারাংশ
Batch স্ক্রিপ্ট ব্যবহার করে Custom Tools এবং Utility Programs তৈরি করা অনেক সহজ। আপনি সিস্টেম অ্যাডমিনিস্ট্রেশন কাজগুলো অটোমেট করতে পারেন, যেমন ফাইল ব্যাকআপ, নেটওয়ার্ক ডায়াগনস্টিক, সিস্টেম ইনফরমেশন সংগ্রহ, এবং সুরক্ষা চেক। কাস্টম স্ক্রিপ্টগুলো তৈরি করার সময় modularity, error handling, এবং logging প্র্যাকটিসগুলো অনুসরণ করা উচিত, যা স্ক্রিপ্টের কার্যকারিতা এবং নির্ভরযোগ্যতা বাড়ায়।
Read more